package com.yh.mapper;

import com.yh.pojo.Permission;
import com.yh.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author by 张晨光
 * @date 2023/11/7 15:26
 */
public interface RoleMapper {
    /**
     * 查询所有角色
     */
    List<Role> findAllRoles();

    void addRole(Role role);

    Role findById(Integer id);
    /**
     * 添加资源权限前-查询哪些资源权限可以添加
     * @param roleid
     * @return
     */
    List<Permission> findOtherPermission(Integer roleid);
    /**
     * 将刚才某个角色，可以添加的资源信息，添加到哪个表？
     * 中间表：role_permission表;
     */
    void addPermissionToRole(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);
    /**
     * 1.删除users_role表
     */
    void deleteUsersRoleByRoleId(Integer roleId);
    /**
     * 2.删除role_permission表
     */
    void deleteRolePermissionByRoleId(Integer roleId);
    /**
     * 3.删除role表
     */
    void deleteRoleByRoleId(Integer id);
}
